Harden Release versioning against lagging publishes and tag collisions#56
Merged
Conversation
… the remote The Release workflow bumped from the npm `latest` and guarded tag collisions with `git rev-parse` against a checkout that never fetched tags. When a publish lagged (npm behind the tags), every run recomputed the same version and the ineffective guard let the collision surface as a raw HTTP 422 from `gh release create`. Now the bump is computed from the highest of the latest git tag and the npm latest (tag = source of truth), so the next version is always strictly higher, and the guard checks `git ls-remote --tags origin` for a real answer. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Workflow now fetches full git history and correctly handles version bumps and tag collisions. 🎯 Quality: 96% Elite · 📦 Size: Small 📈 This month: Your 220th PR — above team average · Averaging Excellent |
mariojgt
approved these changes
Jul 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
Releaseworkflow bumped from the npmlatestversion and checked for tag collisions withgit rev-parseagainst a checkout that never fetched tags. When a publish lagged behind (npm sat on 0.3.6 while tag v0.3.7 existed), every run recomputed the same0.3.7, and the ineffective guard let the collision surface as a rawHTTP 422: Release.tag_name already exists. This computes the bump from the highest of the latest git tag and the npm latest — so the next version is always strictly above the newest tag — and replaces the guard with a realgit ls-remote --tags origincheck (plusfetch-depth: 0so tags are available). Aligns with the repo's "git tag is the source of truth" principle.🤖 Generated with Claude Code